Skip to content

build: fix docs-content missing some inherited member description #24310

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 31, 2022

Conversation

devversion
Copy link
Member

This happened due to: 9973f1d

Recently we added logic to exclude resolved external API docs from the Dgeni
pipeline, preventing them from being processed by the Dgeni JSDoc processor.

This was necessary due to a bug in Dgeni which resulted in runtime errors for
unknown JSDoc tags. Some tags from external API docs were unknown because
the framework repository uses different sets of annotations/tags.

At this point, it seemed reasonable to never add such external API docs to the
Dgeni pipeline, while also working around this runtime exception that way.

Now after seeing the results, it became clear that we still want to continue
processing external API docs as some of our public-facing API docs might end
up merging external API document members.

In this docs-content built it can be observed that some inherited/merged
members no longer have a proper resolved description:

angular/material2-docs-content@6b602cf

This commit fixes it by adding these external JSDoc tags temporarily as known tags until
the Dgeni upstream fix is available. As part of this change we introduced a custom processor
to error for unknown JSDoc tags (we want to be strict about this). This will become helpful
as Dgeni only warns about unknown tags (and this is non-configurable). Also while being at it
the types for tags has been improved to avoid the use of any everywhere.

@devversion devversion requested a review from crisbeto January 29, 2022 16:22
@devversion devversion added merge safe target: patch This PR is targeted for the next patch release labels Jan 29, 2022
@devversion devversion marked this pull request as ready for review January 29, 2022 16:22
@devversion devversion requested a review from a team as a code owner January 29, 2022 16:22
This happened due to: angular@9973f1d

Recently we added logic to exclude resolved external API docs from the Dgeni
pipeline, preventing them from being processed by the Dgeni JSDoc processor.

This was necessary due to a bug in Dgeni which resulted in runtime errors for
unknown JSDoc tags. Some tags from external API docs were unknown because
the framework repository uses different sets of annotations/tags.

At this point, it seemed reasonable to never add such external API docs to the
Dgeni pipeline, while also working around this runtime exception that way.

Now after seeing the results, it became clear that we still want to continue
processing external API docs as some of our public-facing API docs might end
up merging external API document members.

In this docs-content built it can be observed that some inherited/merged
members no longer have a proper resolved description:

angular/material2-docs-content@6b602cf

This commit fixes it by adding these external JSDoc tags temporarily as known tags until
the Dgeni upstream fix is available. As part of this change we introduced a custom processor
to error for unknown JSDoc tags (we want to be strict about this). This will become helpful
as Dgeni only warns about unknown tags (and this is non-configurable). Also while being at it
the types for `tags` has been improved to avoid the use of `any` everywhere.
@devversion devversion force-pushed the process-external-docs-jsdoc branch from 275f509 to ba9dd42 Compare January 29, 2022 18:37
@devversion devversion added the action: merge The PR is ready for merge by the caretaker label Jan 29, 2022
@amysorto amysorto merged commit ebc3e10 into angular:master Jan 31, 2022
amysorto pushed a commit that referenced this pull request Jan 31, 2022
…4310)

This happened due to: 9973f1d

Recently we added logic to exclude resolved external API docs from the Dgeni
pipeline, preventing them from being processed by the Dgeni JSDoc processor.

This was necessary due to a bug in Dgeni which resulted in runtime errors for
unknown JSDoc tags. Some tags from external API docs were unknown because
the framework repository uses different sets of annotations/tags.

At this point, it seemed reasonable to never add such external API docs to the
Dgeni pipeline, while also working around this runtime exception that way.

Now after seeing the results, it became clear that we still want to continue
processing external API docs as some of our public-facing API docs might end
up merging external API document members.

In this docs-content built it can be observed that some inherited/merged
members no longer have a proper resolved description:

angular/material2-docs-content@6b602cf

This commit fixes it by adding these external JSDoc tags temporarily as known tags until
the Dgeni upstream fix is available. As part of this change we introduced a custom processor
to error for unknown JSDoc tags (we want to be strict about this). This will become helpful
as Dgeni only warns about unknown tags (and this is non-configurable). Also while being at it
the types for `tags` has been improved to avoid the use of `any` everywhere.

(cherry picked from commit ebc3e10)
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Mar 3, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants